home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / protocol / standard / ccitt / 1992 / x / x500.asc < prev    next >
Text File  |  1993-07-14  |  48KB  |  782 lines

  1.          The drawings contained in this Recommendation have been done in AUTOCAD
  2.          Recommendation X.500
  3.                     THE DIRECTORY - OVERVIEW OF CONCEPTS, MODELS AND SERVICES 1)
  4.                                          (Melbourne, 1988)
  5.                                               CONTENTS
  6.          0      Introduction
  7.          1      Scope and field of application
  8.          2      References
  9.          3      Definitions
  10.                3.1 OSI reference model definitions
  11.                3.2 Basic directory definitions
  12.                3.3 Directory model definitions
  13.                3.4 Distributed operation definitions
  14.          4      Abbreviations
  15.          5      Overview of the directory
  16.          6      The directory information base (DIB)
  17.          7      The directory service
  18.                7.1 Introduction
  19.                7.2 Service qualification
  20.                7.3 Directory interrogation
  21.                7.4 Directory modification
  22.                7.5 Other outcomes
  23.          8      The distributed directory
  24.                8.1 Functional model
  25.                8.2 Organizational model
  26.                8.3 Operation of the model
  27.          9      Directory protocols
  28.          Annex A - Applying the directory
  29.                A.1 The directory environment
  30.                A.2 Directory service characteristics
  31.                A.3 Patterns of use of the directory
  32.                A.4 Generic applications
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.                1) Recommendation X.500 and ISO 9594-1, The Directory - Overview of Concepts, Models   and
  66.            Services, were developed in close collaboration and are technically aligned.
  67.  
  68.  
  69.  
  70.                                                        Fascicle VIII.8 - Rec.X.500   PAGE1
  71.  
  72.                0      Introduction
  73.          0.1    This document, together with the others of the series, has  been  produced
  74.          to facilitate the interconnection of information processing  systems  to  provide
  75.          directory services.  The set of all such systems,  together  with  the  directory
  76.          information which they hold, can be viewed as an  integrated  whole,  called  the
  77.          Directory. The information held by  the  Directory,  collectively  known  as  the
  78.          Directory Information Base (DIB), is typically used to  facilitate  communication
  79.          between, with or about objects such as application  entities,  people,  terminals
  80.          and distribution lists.
  81.          0.2    The Directory plays a significant role in  Open  Systems  Interconnection,
  82.          whose aim is to allow, with a minimum  of  technical  agreement  outside  of  the
  83.          interconnection  standards  themselves,  the   interconnection   of   information
  84.          processing systems:
  85.                -   from different manufacturers;
  86.                -   under different managements;
  87.                -   of different levels of complexity; and
  88.                -   of different ages.
  89.          0.3    This Recommendation introduces and models the concepts  of  the  Directory
  90.          and of the DIB and overviews the services and capabilities  which  they  provide.
  91.          Other Recommendations make use of these models in defining the  abstract  service
  92.          provided by the Directory, and in specifying the  protocols  through  which  this
  93.          service can be obtained or propagated.
  94.          1      Scope and field of application
  95.          1.1     The  Directory  provides  the  directory  capabilities  required  by  OSI
  96.          applications,  OSI  management  processes,  other   OSI   layer   entities,   and
  97.          telecommunication services.  Among the capabilities which it provides  are  those
  98.          of "user-friendly naming" whereby objects can be referred to by names  which  are
  99.          suitable for citing by human use s  (though  not  all  objects  need  have  user-
  100.          friendly names); and "name- to-address mapping" which allows the binding  between
  101.          objects and their locations to be  dynamic.  The  latter  capability  allows  OSI
  102.          networks, for example, to be  "self-configuring"  in  the  sense  that  addition,
  103.          removal and the changes of object location do not affect OSI network operation.
  104.          1.2    The Directory is not intended to be a general-purpose  data  base  system,
  105.          although it may be built on such systems. It is assumed, for instance,  that,  as
  106.          is typical with  communications  directories,  there  is  a  considerably  higher
  107.          frequency of "queries" than of updates. The rate of updates  is  expected  to  be
  108.          governed by the dynamics of people and organizations, rather than,  for  example,
  109.          the dynamics of  networks.  There  is  also  no  need  for  instantaneous  global
  110.          commitment of updates: transient conditions where both old and  new  versions  of
  111.          the same information are available, are quite acceptable.
  112.          1.3    It is a characteristic of the Directory that, except as a  consequence  of
  113.          differing access rights or unpropagated updates, the results of directory queries
  114.          will not be  dependent  on  the  identity  or  location  of  the  enquirer.  This
  115.          characteristic renders  the  Directory  unsuitable  for  some  telecommunications
  116.          applications, for example some types of routing.
  117.          2      References
  118.          Recommendation X.200 -Open Systems Interconnection - Basic Reference Model.
  119.          Recommendation X.208 -Open Systems Interconnection -  Specification  of  Abstract
  120.          Syntax Notation One (ASN.1).
  121.          Recommendation X.501 -  The Directory - Models.
  122.          Recommendation X.509 -  The Directory - Authentication framework.
  123.          Recommendation X.511 -  The Directory - Abstract Service Definition.
  124.          Recommendation X.518 -  The Directory - Procedures for Distributed Operation.
  125.          Recommendation X.519 -  The Directory - Protocol Specifications.
  126.          Recommendation X.520 -  The Directory - Selected Attribute Types.
  127.          Recommendation X.521 -  The Directory - Selected Object Classes.
  128.          Recommendation  X.219  -   Remote  Operations  -  Model,  Notation  and   Service
  129.          Definition.
  130.          Recommendation X.229 -  Remote Operations - Protocol Specification.
  131.          3      Definitions
  132.                The definitions contained in this make use of the abbreviations defined  in
  133.          S 4.
  134.          3.1    OSI reference model definitions
  135.                This   Recommendation   is   based   on   the   concepts    developed    in
  136.          Recommendation X.200, and makes use of the following terms therein defined:
  137.  
  138.  
  139.  
  140.  
  141.          PAGE4   Fascicle VIII.8 - Rec.X.500
  142.  
  143.                a)  application-entity;
  144.                b)  Application Layer;
  145.                c)  application process;
  146.                d)  application protocol data unit;
  147.                e)  application service element.
  148.          3.2    Basic directory definitions
  149.                a)  The Directory: a collection of open  systems  cooperating  to  provide
  150.                   directory services;
  151.                b)  Directory Information Base (DIB): the set of information managed by the 
  152.                   Directory;
  153.                c)  (Directory) user: the end user of the Directory, i.e.  the  entity  or
  154.                   person which accesses the Directory.
  155.          3.3    Directory model definitions
  156.                This  Recommendation  makes  use  of  the  following   terms   defined   in
  157.          Recommendation X.501.
  158.                a)  Administration Directory Management Domain;
  159.                b)  alias;
  160.                c)  attribute;
  161.                d)  attribute type;
  162.                e)  attribute value;
  163.                f)  Directory Information Tree (DIT);
  164.                g)  Directory Management Domain (DMD);
  165.                h)  Directory System Agent (DSA);
  166.                i)  Directory User Agent (DUA);
  167.                j)  distinguished name;
  168.                k)  entry;
  169.                l)  name;
  170.                m)  object (of interest);
  171.                n)  Private Directory Management Domain;
  172.                o)  relative distinguished name;
  173.                p)  root;
  174.                q)  schema;
  175.                r)  subordinate object;
  176.                s)  superior entry;
  177.                t)  superior object;
  178.                u)  tree.
  179.          3.4    Distributed operation definitions
  180.                This  Recommendation  makes  use  of  the  following   terms   defined   in
  181.          Recommendation X.518:
  182.                a)  chaining;
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.                                                        Fascicle VIII.8 - Rec.X.500   PAGE1
  213.  
  214.                b)  multicasting;
  215.                c)  referral.
  216.          4      Abbreviations
  217.                ADDMD  Administration Directory Management Domain
  218.                DAP Directory Access Protocol
  219.                DIB     Directory Information Base
  220.                DIT     Directory Information Tree
  221.                DMD Directory Management Domain
  222.                DSA Directory System Agent
  223.                DSP     Directory System Protocol
  224.                DUA Directory User Agent
  225.                OSI     Open Systems Interconnection
  226.                PRDMD  Private Directory Management Domain
  227.                RDN Relative Distinguished Name
  228.          5      Overview of the Directory
  229.          5.1    The Directory is a collection of open systems which cooperate  to  hold  a
  230.          logical data base of information about a set of objects in the  real  world.  The
  231.          users of the Directory, including people  and  computer  programs,  can  read  or
  232.          modify the information, or parts of it, subject to having permission  to  do  so.
  233.          Each user is represented in accessing the Directory by  a  Directory  User  Agent
  234.          (DUA), which is considered to  be  an  application-process.  These  concepts  are
  235.          illustrated in Figure 1/X.500.
  236.                                         FIGURE 1/X.500 - -T0704210-88
  237.  
  238.                Note - This series of  Recommendations  refers  to  the  Directory  in  the
  239.          singular, and reflects the intention to create, through a single,  unified,  name
  240.          space,  one  logical  directory  composed  of  many  systems  and  serving   many
  241.          applications.  Whether or not these systems choose to interwork  will  depend  on
  242.          the needs of the applicatio s  they  support.   Applications  dealing  with  non-
  243.          intersecting worlds of objects, may have no such need.   The  single  name  space
  244.          facilitates later interworking should the needs change.
  245.          5.2    The information held  in  the  Directory  is  collectively  known  as  the
  246.          Directory Information Base (DIB). Clause 6 of this Recommendation  overviews  its
  247.          structure.
  248.          5.3    The Directory provides a well-defined set of access capabilities, known as
  249.          the abstract service of the Directory, to  its  users.  This  service,  which  is
  250.          overviewed in   7 of this  Recommendation  provides  a  simple  modification  and
  251.          retrieval capability. This can be built on with local DUA  functions  to  provide
  252.          the capabilities required by the end-users.
  253.          5.4    It is likely that  the  Directory  will  be  distributed,  perhaps  widely
  254.          distributed, both along functional and organizational lines.    8  overviews  the
  255.          corresponding models of the Directory.  These have been  developed  in  order  to
  256.          provide a framework for the cooperation of the various components to  provide  an
  257.          integrated whole.
  258.          5.5    The provision and consumption of the Directory services requires that  the
  259.          users (actually the DUAs) and the various functional components of the  Directory
  260.          should cooperate with one another.  In many cases this will  require  cooperation
  261.          between application processes in different open systems, which in  turn  requires
  262.          standardized  application  protocols,  overviewed  in     9,   to   govern   this
  263.          cooperation.
  264.          5.6    The Directory has been designed so as to  support  multiple  applications,
  265.          drawn from a  wide  range  of  possibilities.   The  nature  of  the  application
  266.          supported will govern which objects are listed in the Directory, which users will
  267.          access  the  information,  and  which  kinds  of  access  they  will  carry  out.
  268.          Applications may be very specific, such as the provision  of  distribution  lists
  269.          for electronic mail, or  generic,  such  as  the  "inter-personal  communications
  270.          directory" application.   The  Directory  provides  the  opportunity  to  exploit
  271.          commonalities among the applications:
  272.                -   a single object may be relevant to more than one application;  perhaps
  273.                   even the same piece of information about the  same  object  may  be  so
  274.                   relevant.
  275.                To support this, a  number  of  object  classes  and  attribute  types  are
  276.          defined, which will be useful across a range of applications.  These  definitions
  277.          are contained in Recommendations X.520 and X.521:
  278.                -   certain patterns of use of the Directory will be common across a range
  279.  
  280.  
  281.  
  282.  
  283.          PAGE4   Fascicle VIII.8 - Rec.X.500
  284.  
  285.                of applications:  this area is overviewed further in Annex A.
  286.          6      The Directory Information Base (DIB)
  287.                Note - The DIB, and its structure, are defined in Recommendation X.501.
  288.          6.1    The DIB is made up  of  information  about  objects.  It  is  composed  of
  289.          (directory) entries, each of which consists of a collection of information on one
  290.          object. Each entry is made up of attributes, each with a type  and  one  or  more
  291.          values. The types of attribute which  are  present  in  a  particular  entry  are
  292.          dependent on the class of object which the entry describes.
  293.          6.2    The entries of the DIB are arranged in the form of a tree,  the  Directory
  294.          Information Tree (DIT) where the vertices represent the entries.  Entries  higher
  295.          in the tree (nearer the root) will often represent objects such as  countries  or
  296.          organizations  while  entries  lower  in  the  tree  will  represent  people   or
  297.          application processes.
  298.                Note - The services defined in this Recommendation operate only on a  tree-
  299.          structured DIT.  This Recommendation does  not  preclude  the  existence  in  the
  300.          future of other structures (as the need arises).
  301.          6.3    Every entry has a distinguished name,  which  uniquely  and  unambiguously
  302.          identifies the entry. These properties of the distinguished name are derived from
  303.          the tree structure of the information.  The distinguished name  of  an  entry  is
  304.          made up of the distinguished name of its superior entry, together with  specially
  305.          nominated attribute values (the distinguished values) from the entry.
  306.          6.4    Some of the entries at the leaves of the tree are alias entries, while all
  307.          other entries are object entries. Alias entries  point  to  object  entries,  and
  308.          provide the basis for alternative names for the corresponding objects.
  309.          6.5    The Directory enforces a set of rules to ensure that the DIB remains well 
  310.          formed in the face  of  modifications  over  time.  These  rules,  known  as  the
  311.          Directory schema, prevent entries having the wrong types of  attributes  for  its
  312.          object class, attribute values being of the wrong form for  the  attribute  type,
  313.          and even entries having subordinate entries of the wrong class.
  314.          6.6    Figure  2/X.500  illustrates  the  above  concepts  of  the  DIT  and  its
  315.          components.
  316.                                         FIGURE 2/X.500 - T0704220-88
  317.  
  318.          6.7    Figure 3/X.500 gives a hypothetical example of a DIT.  The  tree  provides
  319.          examples of some of the types of attributes used to identify  different  objects.
  320.          For example the name:
  321.                {C = GB, L = Winslow,  O = Graphic Services, CN = Laser Printer}
  322.          identifies the application entity "Laser Printer" which has in its  distinguished
  323.          name the geographical attribute of Locality. The residential person  John  Jones,
  324.          whose name is GB
  325.                {C = GB,  L = Winslow,  CN = John Jones}
  326.          has the same geographical attribute in his distinguished name.
  327.                                         FIGURE 3/X.500 - T0704230-88
  328.  
  329.          6.8    The growth and form of the DIT, the definition of  the  Directory  schema,
  330.          and the selection of distinguished names for entries as they are  added,  is  the
  331.          responsibility  of  various  authorities,  whose  hierarchical  relationship   is
  332.          reflected in the shape of the tree. The authorities  must  ensure,  for  example,
  333.          that all of the entries in  their  jurisdiction  have  unambiguous  distinguished
  334.          names, by carefully managing the attribute types and values which appear in those
  335.          names. Responsibility is passed  down  the  tree  from  superior  to  subordinate
  336.          authorities, with control being exercised by means of the schema.
  337.          7      The Directory service
  338.                Note - The definition of the abstract  service  of  the  Directory  can  be
  339.          found in Recommendation X.511.
  340.          7.1    Introduction
  341.          7.1.1  This provides an overview of the service provided to users, as represented
  342.          by their DUAs, by the Directory. All services are provided by  the  Directory  in
  343.          response to requests from DUAs. There are requests which allow  interrogation  of
  344.          the Directory, as described in S 7.3, and those for modification, as described in
  345.          7.4. In addition, requests for service can be qualified, as described in  S  7.2.
  346.          The Directory always reports the outcome of each request that is made of it.  The
  347.          form of the normal outcome is specific to the request, and is  evident  from  the
  348.          description of the  request.   Most  abnormal  outcomes  are  common  to  several
  349.          requests. The possibilities are described in   7.5.
  350.  
  351.  
  352.  
  353.  
  354.                                                        Fascicle VIII.8 - Rec.X.500   PAGE1
  355.  
  356.          7.1.2  A number of aspects of the eventual directory service  are  not  presently
  357.          provided by the standards  specified  in  this  series  of  Recommendations.  The
  358.          corresponding capabilities will, therefore,  need  to  be  provided  as  a  local
  359.          function  until  such  time  as  a  standardized  solution  is  available.  These
  360.          capabilities include:
  361.                -   addition and deletion of arbitrary entries, thus allowing a distributed 
  362.                   Directory to be created;
  363.                -   the  management  of  access  control  (i.e.  granting  or  withdrawing
  364.                   permission for a particular user to carry out a particular access on  a
  365.                   particular piece of information);
  366.                -   the management of the Directory schema;
  367.                -   the management of knowledge information;
  368.                -   the replication of parts of the DIB.
  369.                Note - This list is not necessarily exhaustive.
  370.          7.1.3  The Directory ensures that changes to the DIB, whether  the  result  of  a
  371.          Directory service request, or by some other (local) means, result in a DIB  which
  372.          continues to obey the rules of the Directory schema.
  373.          7.1.4  A User and the Directory are bound together for a period  of  time  at  an
  374.          access point to the Directory.   At  the  time  of  binding,  the  User  and  the
  375.          Directory optionally verify each other's identity.
  376.          7.2    Service qualification
  377.          7.2.1  Service controls
  378.                A number of controls can  be  applied  to  the  various  service  requests,
  379.          primarily to allow the user to impose limits on the use of  resources  which  the
  380.          Directory must not surpass. Controls are provided on,  among  other  things:  the
  381.          amount of time, the size of the results, the  scope  of  search  the  interaction
  382.          modes, and on the priority of the request.
  383.          7.2.2  Security parameters
  384.                Each request may be accompanied  by  information  in  support  of  security
  385.          mechanisms for protecting the Directory information. Such information may include
  386.          the user's request for various kinds of protection; a digital  signature  of  the
  387.          request, together with information to assist the  correct  party  to  verify  the
  388.          signature.
  389.          7.2.3  Filters
  390.                A number of requests whose outcome involves information from or  concerning
  391.          a number of entries, may carry with them a filter. A filter expresses one or more
  392.          conditions that an entry must satisfy in order to be  returned  as  part  of  the
  393.          outcome. This allows the set of entries returned to  be  reduced  to  only  those
  394.          relevant.
  395.          7.3    Directory interrogation
  396.          7.3.1  Read
  397.                A read request is aimed at a particular entry, and  causes  the  values  of
  398.          some or all of the attributes of that entry  to  be  returned.  Where  only  some
  399.          attributes are to be returned, the DUA supplies the list of  attribute  types  of
  400.          interest.
  401.          7.3.2  Compare
  402.                A compare request is aimed  at  a  particular  attribute  of  a  particular
  403.          entry, and causes the Directory to check whether a supplied value matches a value
  404.          of that attribute.
  405.                Note - For example, this can be used to carry out password checking,  where
  406.          the password, held  in  the  Directory,  might  be  inaccessible  for  read,  but
  407.          accessible for compare.
  408.          7.3.3  List
  409.                A list request causes  the  Directory  to  return  the  list  of  immediate
  410.          subordinates of a particular named entry in the DIT.
  411.          7.3.4  Search
  412.                A search request causes the Directory to return  information  from  all  of
  413.          the entries within a certain portion of the DIT which satisfy  some  filter.  The
  414.          information returned from each entry consists of some or all of the attributes of
  415.          that entry, as with read.
  416.          7.3.5  Abandon
  417.                An abandon request, as applied to  an  outstanding  interrogation  request,
  418.          informs the Directory that the originator of the request is no longer  interested
  419.          in the  request  being  carried  out.  The  Directory  may,  for  example,  cease
  420.          processing the request, and may discard any results so far achieved.
  421.  
  422.  
  423.  
  424.  
  425.          PAGE4   Fascicle VIII.8 - Rec.X.500
  426.  
  427.          7.4    Directory modification
  428.          7.4.1  Add entry
  429.                An add entry request causes a new leaf entry (either an  object  entry,  or
  430.          an alias entry) to be added to the DIT.
  431.                Note - In its present form this service is  intended  to  be  used  to  add
  432.          entries which will remain as leaves, such as entries for  people  or  application
  433.          entities, rather than to add whole subtrees  by  repeated  applications  of  this
  434.          service. It is envisaged that the service will be enhanced in the future to cater
  435.          to the more general case.
  436.          7.4.2  Remove entry
  437.                A remove entry request causes a leaf entry to be removed from the DIT.
  438.                Note - As with add entry, this service is presently intended for  operation
  439.          on "true leaf"  entries, and will be enhanced in the future for the general case.
  440.          7.4.3  Modify entry
  441.                A modify entry request causes  the  Directory  to  execute  a  sequence  of
  442.          changes to a particular entry.  Either all of the changes are made,  or  none  of
  443.          them, and the DIB is always left in a  state  consistent  with  the  schema.  The
  444.          changes allowed include the addition, removal, or replacement  of  attributes  or
  445.          attribute values.
  446.          7.4.4  Modify relative distinguished name
  447.                A modify relative distinguished name  (RDN)  request  causes  the  relative
  448.          distinguished name of a leaf entry (either an object entry or an alias entry)  in
  449.          the DIT to be modified by the nomination  of  different  distinguished  attribute
  450.          values.
  451.          7.5    Other outcomes
  452.          7.5.1  Errors
  453.                Any service may fail,  for  example  because  of  problems  with  the  user
  454.          supplied parameters, in which case an error is reported. Information is  returned
  455.          with the error, where possible, to assist in correcting the problem. However,  in
  456.          general, only the first error encountered by the Directory is  reported.  Besides
  457.          the above-mentioned example of problems with the parameters supplied by the  user
  458.          (particularly invalid names for entries or invalid attribute types),  errors  may
  459.          arise from violations of security policy, schema rules, and service controls.
  460.          7.5.2  Referrals
  461.                A service may fail because the particular access point to which the DUA  is
  462.          bound is not the most suitable for carrying out the  request,  e.g.  because  the
  463.          information affected by the request is  (logically)  far  away  from  the  access
  464.          point.  In this case the Directory may  return  a  referral,  which  suggests  an
  465.          alternative access point at which the DUA can make its request.
  466.                Note - The Directory and the DUA may each have a preference as  to  whether
  467.          referrals are used, or whether the requests are chained (see S 8.3.3.2). The  DUA
  468.          can express its preference by means of service controls. The Directory makes  the
  469.          final decision as to which approach is used.
  470.          8      The distributed Directory
  471.                Note - the models of the directory  are  defined  in  Recommendation  X.501
  472.          while the procedures for the operation of the distributed Directory are specified
  473.          in Recommendation X.518.
  474.          8.1    Functional model
  475.                The functional model of the Directory is shown in Figure 4/X.500.
  476.                                         FIGURE 4/X.500 - T0704240-88
  477.  
  478.                A Directory System Agent (DSA) is an OSI application process which is  part
  479.          of the Directory and whose role is to provide access to the DIB  to  DUAs  and/or
  480.          other DSAs. A DSA may use information stored in its local data base  or  interact
  481.          with other DSAs to carry out  requests.  Alternatively,  the  DSA  may  direct  a
  482.          requestor to another DSA which can help carry out the request. Local  data  bases
  483.          are entirely implementation dependent.
  484.          8.2    Organizational model
  485.          8.2.1  A set of one or more DSAs and zero  or  more  DUAs  managed  by  a  single
  486.          organization may form a  Directory  Management  Domain  (DMD).  The  organization
  487.          concerned may or may not elect to make use of this series of  Recommendations  to
  488.          govern the communications among the functional components within the DMD.
  489.          8.2.2  Subsequent Recommendations specify certain aspects  of  the  behaviour  of
  490.          DSAs.  For this purpose, a group of DSAs within one DMD may, at the option of the
  491.          organization which manages the DMD, behave as a single DSA.
  492.  
  493.  
  494.  
  495.  
  496.                                                        Fascicle VIII.8 - Rec.X.500   PAGE1
  497.  
  498.          8.2.3  A DMD may be an Administration DMD (ADDMD),  or  a  Private  DMD  (PRDMD),
  499.          depending  on  whether      or  not  it   is   being   operated   by   a   public
  500.          telecommunications organization.
  501.                Note - It should be recognized that the provision of  support  for  private
  502.          directory systems by  CCITT  members  falls  within  the  framework  of  national
  503.          regulations. Thus, the technical  possibilities  described  may  or  may  not  be
  504.          offered by an Administration which  provides  directory  services.  The  internal
  505.          operation and configuration of private DMDs is not within the scope of  envisaged
  506.          CCITT Recommendations.
  507.          8.3    Operation of the model
  508.          8.3.1  The DUA interacts with the Directory by communicating  with  one  or  more
  509.          DSAs. A DUA need not be bound to any particular DSA.  It  may  interact  directly
  510.          with various DSAs to make requests. For some administrative reasons, it  may  not
  511.          always be possible to interact directly with the DSA which needs to carry out the
  512.          request, e.g. to return some directory information. It is also possible that  the
  513.          DUA can access the Directory through a single DSA. For this  purpose,  DSAs  will
  514.          need to interact with each other.
  515.          8.3.2  The DSA is concerned with carrying out  the  requests  of  DUAs  and  with
  516.          obtaining the information where it does not have the  necessary  information.  It
  517.          may take the responsibility to obtain the information by interacting  with  other
  518.          DSAs on behalf of the DUA.
  519.          8.3.3  A number of cases of request handling have been identified, as illustrated
  520.          in Figures 57/X.500, and described below.
  521.          8.3.3.1   In Figure 5a/X.500, the DSA C receives a referral from  DSA  A  and  is
  522.          responsible for either conveying the request to the DSA B (named in the  referral
  523.          from DSA A) or conveying the referral back to the originating DUA.
  524.                                         FIGURE 5a/X.500 - T0704250-88
  525.  
  526.                Note - If DSA C returns the referral to the DUA, the "request (to B)" will
  527.                not occur. Similarly, if DSA C conveys the request to DSA B, it  will  not
  528.                return a referral to the DUA.
  529.                In Figure 5b/X.500, the DUA  receives  the  referral  from  DSA  C  and  is
  530.          responsible for reissuing the request directly to DSA A (named  in  the  referral
  531.          from DSA C).
  532.                                         FIGURE 5b/X.500 - 0704260-88
  533.  
  534.          8.3.3.2   Figure 6/X.500 shows DSA chaining, whereby the request  can  be  passed
  535.          through several DSAs before the response is returned.
  536.                                         FIGURE 6/X.500 - T0704270-88
  537.  
  538.          8.3.3.3   Figure 7/X.500 shows multicasting, where the DSA  associated  with  the
  539.          DUA carries out the request by forwarding it to  two  or  more  other  DSAs,  the
  540.          request to each DSA being identical.
  541.                                         FIGURE 7/X.500 - T0704280-88
  542.  
  543.          8.3.4  All of the approaches have their merits.  For  example,  the  approach  in
  544.          Figure 5/X.500 may be used where it is desirable to offload the burden  from  the
  545.          local DSA. In other  circumstances,  a  hybrid  approach  that  combines  a  more
  546.          elaborate set of functional interactions may be needed to satisfy the initiator's
  547.          request, as illustrated in Figure 8/X.500.
  548.                                         FIGURE 8/X.500 - T0704290-88
  549.  
  550.          9      Directory protocols
  551.                Note - The OSI application layer protocols defined to allow DUAs  and  DSAs
  552.          in different open systems to cooperate are specified in Recommendation X.519.
  553.          9.1    There are two Directory protocols:
  554.                -   the Directory Access Protocol (DAP), which  defines  the  exchange  of
  555.                   requests and outcomes between a DUA and a DSA;
  556.                -   the Directory System Protocol (DSP), which  defines  the  exchange  of
  557.                   requests and outcomes between two DSAs.
  558.          9.2    Each protocol is defined by an application context, each containing a  set
  559.          of protocol elements. For example, the DAP contains protocol elements  associated
  560.          with interrogating and modifying the Directory.
  561.          9.3    Each application context is made up of application service elements. These
  562.          application service elements are defined to use  the  Remote  Operations  Service
  563.  
  564.  
  565.  
  566.  
  567.          PAGE4   Fascicle VIII.8 - Rec.X.500
  568.  
  569.          (ROS) of Recommendation X.219 to structure and support their  interactions.  Thus
  570.          the DAP and DSP are defined as sets of remote operations and errors using the ROS
  571.          notation.
  572.                                                    ANNEX A
  573.                                      (to Recommendation X.500)
  574.                                        Applying the Directory
  575.                This annex is not an integral part of this Recommendation.
  576.          A.1    The Directory environment
  577.                Note - In this S, the term "network" is used with its  general  meaning  to
  578.          denote  the  set  of  interlinked  systems  and   processes   relevant   to   any
  579.          telecommunications service, not only one which relates to the OSI network layer.
  580.                The  Directory  exists  in  and  provides   services   in   the   following
  581.          environment:
  582.                a)  many telecommunications networks will be on a large  scale,  and  will
  583.                   constantly undergo change:
  584.                   1)  objects of various kinds will enter and leave the  network  without
  585.                       warning and may do so either singly or in groups;
  586.                   2)  the connectivity of the objects (particularly network  nodes)  will
  587.                       change, owing to the addition or removal of paths between them;
  588.                   3)  various characteristics of the objects, such  as  their  addresses,
  589.                       availability, and physical locations, may change at any time;
  590.                b)  although the overall rate of changes is high, the useful  lifetime  of
  591.                   any particular object  is  not  short.  An  object  will  typically  be
  592.                   involved in communications much more frequently that it will change its
  593.                   address, availability, physical location, etc.;
  594.                c)  the  objects  involved  in  current  telecommunications  services  are
  595.                   typically identified by numbers or other strings of  symbols,  selected
  596.                   for their ease of allocation or processing but not for ease of  use  by
  597.                   human beings.
  598.          A.2    Directory service characteristics
  599.                The need for directory capabilities arises from:
  600.                a)  the desire to isolate (as far as possible) the user of the network from 
  601.                   the frequent changes to it. This  can  be  accomplished  by  placing  a
  602.                   "level of indirection" between the users and  the  objects  with  which
  603.                   they deal. This involves the users referring to objects by name, rather
  604.                   than by, for example, address. The  Directory  provides  the  necessary
  605.                   mapping service;
  606.                b)  the desire to provide a more "user-friendly" view of the network.  For
  607.                   example, the use of  aliases,  the  provision  of  "yellow-pages"  (see
  608.                   A.3.5) etc., helps to relieve the burden of finding and  using  network
  609.                   information.
  610.                The Directory allows users to obtain a variety  of  information  about  the
  611.          network, and provides for the maintenance,  distribution  and  security  of  that
  612.          information.
  613.          A.3    Patterns of use of the directory
  614.                Note - This subclause is concerned only with  Directory  retrieval:  it  is
  615.          assumed that the Directory modification services are used solely to maintain  the
  616.          DIB in the form necessary for the application over time.
  617.          A.3.1  Introduction
  618.                The Directory service is defined in these standards in terms of  particular
  619.          requests that a DUA can make and the parameters of them. An application  designer
  620.          is likely, however, to think in more goal-oriented  terms  when  considering  the
  621.          information  retrieval  requirements  of  the  Directory  in  that   application.
  622.          Accordingly, this clause describes a number of high-level patterns of use of  the
  623.          Directory service that are likely to be relevant to many applications.
  624.          A.3.2  Look-up
  625.                The straight Directory look-up is likely to be the most  frequent  type  of
  626.          query of the Directory. It involves the DUA supplying the distinguished  name  of
  627.          an object, together with  an  attribute  type.  The  Directory  will  return  any
  628.          value(s) corresponding that attribute type.  This  is  a  generalization  of  the
  629.          classic directory function, which is obtained when the attribute  type  requested
  630.          corresponds to a particular type of address. Attribute types for various kinds of
  631.          address are standardized,  including  OSI  PSAP  address,  Message  Handling  O/R
  632.          address, and telephone and telex numbers.
  633.                Look-up  is  supported  by  the  read  service,  which  also  provides  the
  634.  
  635.  
  636.  
  637.  
  638.                                                        Fascicle VIII.8 - Rec.X.500   PAGE1
  639.  
  640.          following further generalizations:
  641.                -   look-up can be based upon names other than the distinguished  name  of
  642.                   the object, e.g.  aliases;
  643.                -   the values from a number of attribute types can be  requested  with  a
  644.                   single  request:  the  extreme  case  being  that  the  values  of  all
  645.                   attributes in the entry are to be returned.
  646.          A.3.3  User-friendly naming
  647.                Names can be given to objects in such a way  as  to  maximize  the  chances
  648.          that these names can be predicted (or perhaps remembered) by human  users.  Names
  649.          which have this property would typically be  made  up  of  attributes  which  are
  650.          somehow inherent to the object, rather than being fabricated for the purpose. The
  651.          name of an object will be common among all of the applications which refer to it.
  652.          A.3.4  Browsing
  653.                In many human-oriented uses of the Directory, it may not  be  possible  for
  654.          the user (or DUA) to directly quote a name, user-friendly or otherwise,  for  the
  655.          object about which information is sought. However, perhaps the user will "know it
  656.          when he sees it". The browsing capability will allow a human user to wander about
  657.          the DIB looking for the appropriate entries.
  658.                Browsing is accomplished by combinations of the list and  search  services,
  659.          possibly in conjunction with read  (although  the  search  service  includes  the
  660.          capability of read).
  661.          A.3.5  "Yellow Pages"
  662.                There are a variety of ways to provide a "Yellow  Pages"  type  capability.
  663.          The  simplest  is  based  upon  filtering,  using  assertions  about   particular
  664.          attributes  whose  values  are  the  categories  (e.g.  the  "Business  Category"
  665.          attribute type defined in Recommendation X.520). This approach does  not  require
  666.          any special information being set-up in  the  DIT,  except  to  ensure  that  the
  667.          requisite attributes are present.  However,  in  the  general  case,  it  may  be
  668.          expensive to search where there is a large population because filtering  requires
  669.          the generation of the universal set which is to be filtered.
  670.                An alternative approach is possible, based upon the setting up  of  special
  671.          subtrees, whose naming structures are designed especially for "Yellow Pages" type
  672.          searching. Shown in Figure A1/X.500 is an example of  a  "Yellow  Pages"  subtree
  673.          populated by alias entries only. In  reality,  the  entries  within  the  "Yellow
  674.          Pages" subtrees may be a mixture of object and alias entries, so  long  as  there
  675.          exists only one object entry for each object stored in the Directory.
  676.                                        FIGURE A-1/X.500 - T0704300-88
  677.  
  678.          A.3.6  Groups
  679.                A group is a  set  whose  membership  can  change  over  time  by  explicit
  680.          addition and removal of members. The group is an object, as are its members.  The
  681.          Directory can be requested to:
  682.                -   indicate whether or not a particular object is a member of a group;
  683.                -   list the membership of a group.
  684.                Groups are supported by having the entry for the group contain  a  multiple
  685.          valued  "Member"    attribute   (such   an   attribute   type   is   defined   in
  686.          Recommendation X.520). The two capabilities mentioned can then be carried out  by
  687.          means of compare and read respectively.
  688.                A member of a group could itself be a group, if this is meaningful for  the
  689.          application.   However,  the  necessary  recursive  verification  and   expansion
  690.          services would have to be created by the DUA out of  the  non-recursive  versions
  691.          provided.
  692.          A.3.7  Authentication
  693.                Many applications require the objects taking part to offer  some  proof  of
  694.          their identify before they are permitted to carry out some action. The  Directory
  695.          provides support for this authentication process.  (As  a  separate  matter,  the
  696.          Directory itself requires its users to authenticate themselves, so as to  support
  697.          access control).
  698.                The  more  straightforward  approach  to  authentication,  called   "simple
  699.          authentication", is based upon the Directory holding a "User Password"  attribute
  700.          in the entry for any user that wishes to be able  to  authenticate  itself  to  a
  701.          Service. At the request of the Service, the Directory will confirm or deny that a
  702.          particular value supplied is actually the user's password. This avoids  the  user
  703.          needing a different password for every Service.  In cases where the  exchange  of
  704.          passwords in a local environment that uses simple authentication is considered to
  705.  
  706.  
  707.  
  708.  
  709.          PAGE4   Fascicle VIII.8 - Rec.X.500
  710.  
  711.          be inappropriate, the  Directory  optionally  provides  means  to  protect  those
  712.          passwords against replay or misuse by a one way function.
  713.                The more complex approach, called "strong  authentication"  is  based  upon
  714.          public key cryptography, where the Directory  acts  as  a  repository  of  users'
  715.          public encryption keys, suitably protected against  tampering.   The  steps  that
  716.          users can take to obtain each other's public keys from the Directory, and then to
  717.          authenticate  with  each  other  using  them,  are   described   in   detail   in
  718.          Recommendation X.509.
  719.          A.4    Generic applications
  720.          A.4.1  Introduction
  721.                There are a number  of  generic  applications  which  can  be  imagined  as
  722.          implicitly supported by the Directory: applications which are not specific to any
  723.          particular  telecommunications  service.  Two  such  applications  are  described
  724.          herein:  the  inter-personal  communications  directory  and  the  inter-  system
  725.          communications directory (for OSI).
  726.                Note - Authentication, described in the previous subclause  as  an  "access
  727.          pattern" could alternatively be thought of as a generic Directory application.
  728.          A.4.2  Inter-personal communications
  729.                The intent of this application is to provide humans or  their  agents  with
  730.          information on how to communicate with other humans, or groups thereof.
  731.                The  following  classes  of  objects  are   certainly   involved:   person,
  732.          organizational role and group. Many other classes are involved too, perhaps in  a
  733.          less direct way, including: country, organization, organizational unit.
  734.                The attribute types  concerned,  other  than  those  used  in  naming,  are
  735.          generally the addressing attributes. Typically the entry for a particular  person
  736.          will have the addresses corresponding to each of  the  communication  methods  by
  737.          which that person can be reached, selected from an open-ended list which includes
  738.          at least  the  following:  telephony,  electronic  mail,  telex,  ISDN,  physical
  739.          delivery (e.g. the postal system), facsimile. In some cases, such  as  electronic
  740.          mail, the entry will have some  additional  information  such  as  the  types  of
  741.          information which the user's equipment can handle. If  authentication  is  to  be
  742.          supported, then User Password and/or Credentials will be needed.
  743.                The naming schemes used for the vario s  object  classes  should  be  user-
  744.          friendly, with aliases being set up as appropriate to provide alternative  names,
  745.          provide continuity after a name change, etc.
  746.                The following access patterns  will  be  manifested  in  this  application:
  747.          look-up, user-friendly naming, browsing, "Yellow Pages", and groups.  To  varying
  748.          degrees, authentication will also be used.
  749.          A.4.3  Inter-system communications (for OSI)
  750.                According to the OSI Reference Model, two Directory functions are  required
  751.          in OSI, one, operating in the application layer,  which  maps  application-titles
  752.          onto presentation-addresses, and one, in t e  network  layer,  which  maps  NSAP-
  753.          addresses onto SNPA-addresses (SNPA = Subnetwork Point of Attachment).  
  754.                Note - For the remainder of this  , only  the  application  layer  case  is
  755.          dealt with.
  756.                This  function  is  carried  out  by  consulting  the  Directory   if   the
  757.          information required to accomplish the mapping is not conveniently  available  by
  758.          other means.
  759.                The users are application-entities and the object classes of  interest  are
  760.          also applicationentities, or subclasses thereof.
  761.                The main attribute type concerned, other than those  used  for  naming,  is
  762.          the presentationaddress. Other attribute types, not viewed as necessary  for  the
  763.          directory function itself, could support verifying or finding out the application
  764.          entity type, or the  lists  of  application  contexts,  abstract  syntaxes,  etc.
  765.          supported. The authentication-related attribute types could also be relevant.
  766.                The main access pattern to be manifested will be look-up.
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.                                                        Fascicle VIII.8 - Rec.X.500   PAGE1
  781.  
  782.